package com.uinnova.product.eam.service;

import com.binary.framework.bean.annotation.Comment;
import com.uinnova.product.eam.comm.model.es.EamCategory;
import com.uinnova.product.eam.vo.*;

import java.util.Map;

@Comment("创建系统文件夹")
public interface CyAutoCreateService {

    /**
     * 目录创建
     */
    void categoryAutoCreate();

    /**
     * 目录手动创建
     * @param req
     */
    void categoryCreate(CyCreateReq req);

    /**
     * 校验资产权限
     * @param req
     * @return
     */
    CheckAssertDirRes checkAssertDir(CheckAssertDirReq req);

    /**
     * 获取资产所在我的空间目录
     * @param ciCode
     * @return
     */
    Long getAssertDir(String ciCode);

    /**
     * 获取资产所在我的空间目录 详情
     * @param ciCode
     * @return
     */
    Map<String, Object> getAssertDirInfo(String ciCode);

    /**
     * 绑定资产的视图/方案检出/检出另存为信息
     * @param req
     * @return
     */
    AssertCheckoutRes assertCheckoutInfo(AssertCheckoutReq req);

    /**
     * 按照年份归档系统文件夹
     * @param year 例如：2024
     */
    void archiveCategory(String year);
}
